#region Using References

using System;
using Beaker.OpenCube.Game.Converters;
using Beaker.OpenCube.Mapping;

#endregion

namespace Beaker.OpenCube.Game.Mobs
{
	public sealed class Creeper
		: MobData
	{
		/// <summary>
		/// Gets or sets a value wether this creeprer is charged from being struck by lightning
		/// </summary>
		/// <value>
		/// <c>true</c> if this creeprer is charged from being struck by lightning; otherwise, <c>false</c>.
		/// </value>
		[Mapping( Name = "powered", IsOptional = true )]
		public bool IsPowered { get; set; }

		/// <summary>
		/// Gets or sets the explosion radius.
		/// </summary>
		/// <value>
		/// The explosion radius.
		/// </value>
		[Mapping( Name = "ExplosionRadius" )]
		public byte ExplosionRadius { get; set; }

		/// <summary>
		/// Gets or sets The number of ticks before the creeper will explode.
		/// </summary>
		/// <value>
		/// The number of ticks before the creeper will explode.
		/// </value>
		/// <remarks>
		/// Does not affect creepers that fall and explode upon impacting their victim
		/// </remarks>
		[Mapping( Name = "Fuse", Converter = typeof( GameTicksTimeSpanConverter ) )]
		public TimeSpan Fuse { get; set; }
	}
}